package com.java.program_questions;

import java.util.Scanner;

/**
 * 问题：将一个正整数分解质因数，例如90=2*3*3*5
 * 分析：对n进行分解质因数，应先找到一个最小的质数k
 * 1、n=k则说明分解质因数的过程已经结束
 * 2、n!=k但能被k整除则打印k并将n/k的商作为新n重复第一步
 * 3、n!=k且不能被k整除则将k+1作为k的值重复第一步
 */
public class Question4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入要分解的正整数：");
        int number = sc.nextInt();

        if (number > 0) {
            System.out.print(number + " = ");

            int i = 2;
            while (i < number) {
                if (number % i == 0) {
                    number /= i;
                    System.out.print(i + " * ");
                } else {
                    i++;
                }
            }
            System.out.print(i);
        } else {
            System.out.print("你的输入不正确");
        }
    }
}
